package com.wjs.blog.service;

import com.wjs.blog.vo.Result;
import com.wjs.blog.vo.parms.ArticleParms;
import com.wjs.blog.vo.parms.PageParms;
import org.springframework.transaction.annotation.Transactional;

@Transactional
public interface ArticleService {
    /**
     * 分页查询文章列表
     * @param pageParms
     * @return
     */
    Result listArticle(PageParms pageParms);

    /**
     * 最热文章
     * @param limit
     * @return
     */
    Result HotArticle(int limit);

    /**
     * 最新文章
     * @param limit
     * @return
     */
    Result NewArticle(int limit);

    /**
     * 文章归档
     * @return
     */
    Result listArchives();

    /**
     * 文章详情
     * @param id
     * @return
     */
    Result findArticleById(long id);

    /**
     * 发布文章
     * @param articleParam
     * @return
     */
    Result publish(ArticleParms articleParam);
}
